其他
微信机器人还能这么玩?截取摄像头图片发给指定好友!
知乎专栏:Python学习之路
https://zhuanlan.zhihu.com/pythonlearn
今天,闲来无聊,还是继续折腾Python,最近看到微信机器人比较有意思,于是就用这个模块做了个好玩的东西,大神请飘过。主要实现的功能有:
1,根据指定好友的指定文本消息截取当前电脑屏幕发送给指定的好友。
2,根据指定好友的指定文本消息打开摄像头拍一张照片给指定的好友(这个比较邪恶哦)
按照我的风格还是画流程图,演示下整体过程,无论做什么都要有思路,都要知道自作要做什么。
主要代码:
import itchat
from itchat.content import TEXT
from itchat.content import *
from PIL import ImageGrab
from VideoCapture import Device
@itchat.msg_register(TEXT,isFriendChat=True)
def handle_receive_msg(msg):
msg_from=msg['FromUserName'] #发送人ID
msg_from_nickname=itchat.search_friends(userName=msg_from)['NickName']
print(msg_from)
print(msg_from_nickname)
print(msg['Text'])
if '朕就是这样的汉子' == msg_from_nickname and '芝麻开门'==msg['Text']:
screenRecorde()
itchat.send_image(fileDir='screen.jpg', toUserName=msg_from)
elif '朕就是这样的汉子' == msg_from_nickname and '阿里巴巴'==msg['Text']:
cameraRecord()
itchat.send_image(fileDir='camera.jpg', toUserName=msg_from)
def screenRecorde():
"""
定义截取当前屏幕的方法
:return:
"""
im = ImageGrab.grab()
im.save("screen.jpg", 'jpeg')
def cameraRecord():
interval = 2
cam = Device()
cam.saveSnapshot('camera.jpg')
itchat.auto_login(hotReload=True)
itchat.run()
部门代码讲解:大家可以看到主要就是引入了itchat,PIL,VideoCapture 这三个库
itchat是大神写的微信机器人python库,PIL用来截电脑屏幕的,VideoCapture 用来获取摄像头图片的,
运行之后使用自己的微信扫描二维码登录,当程序判断到指定好友发来"芝麻开门"这个消息后,调用屏幕截图的方法,并把图片发回给指定好友,如果发来“阿里巴巴”这个消息则调用获取摄像头的方法,将图片发回给指定好友,就是这么简单。
实际效果:
Python爱好者社区历史文章大合集:
Python爱好者社区历史文章列表(每周append更新一次)
关注后在公众号内回复“课程”即可获取:
小编的转行入职数据科学(数据分析挖掘/机器学习方向)【最新免费】
小编的Python入门免费视频课程!!!
小编的Python快速上手matplotlib可视化库!!!
崔老师爬虫实战案例免费学习视频。
陈老师数据分析报告制作免费学习视频。
玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。